﻿using System.Threading.Tasks;

namespace Beeflys
{
    public interface IStart
    {
        Task StartAsync();
    }

    public interface IStart<T1>
    {
        Task StartAsync(T1 item1);
    }

    public interface IStart<T1, T2>
    {
        Task StartAsync(T1 item1, T2 item2);
    }

    public interface IStart<T1, T2, T3>
    {
        Task StartAsync(T1 item1, T2 item2, T3 item3);
    }

    public interface IStart<T1, T2, T3, T4>
    {
        Task StartAsync(T1 item1, T2 item2, T3 item3, T4 item4);
    }

    public interface IStart<T1, T2, T3, T4, T5>
    {
        Task StartAsync(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5);
    }


    public interface IStart<T1, T2, T3, T4, T5, T6>
    {
        Task StartAsync(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6);
    }

    public interface IStart<T1, T2, T3, T4, T5, T6, T7>
    {
        Task StartAsync(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7);
    }
}
